x86-64: fold shadow_page_info fields into page_info
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 30 Jan 2009 11:08:06 +0000 (11:08 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 30 Jan 2009 11:08:06 +0000 (11:08 +0000)
commit74ded61cc3289ad024d5a552f71425ec2fb2a517
tree3f44fe92e2904c28929d2418a4abaa3a957a66f6
parent0d75438a329eeee631c4044c2e86f02e2bb46971
x86-64: fold shadow_page_info fields into page_info

... combining the list entry members of both structures and removing
the artificial 'mbz' member (shadow code must keep the real underlying
member 'count_info' at zero for the lifetime of pages use as shadows).

This also fixes a latent issue with u.inuse._domain not getting
explicitly cleared before returning shadow pages to the domain heap -
it just so happened that this member turned out to be zero in all
(normal?) cases when a shadow page ends its life (but there were
neither build nor run-time assertions that this would actually be the
case). The bug got exposed by a subsequent patch changing the order of
fields in struct page_info.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/mm/shadow/common.c
xen/arch/x86/mm/shadow/multi.c
xen/arch/x86/mm/shadow/private.h
xen/include/asm-x86/domain.h
xen/include/asm-x86/mm.h